package com.lj.file.result;

import com.lj.file.entity.FileDetail;
import cn.idev.excel.annotation.ExcelProperty;
import lombok.Data;
import java.time.LocalDateTime;

/**
 * <p>
 * 文件记录表 excel导出参数
 * </p>
 *
 * @author lj
 * @since 2025-06-26 22:53:36
 */
@Data
public class FileDetailExportResult {

    /**
     * 存储平台
     */
    @ExcelProperty("存储平台")
    private String platform;

    /**
     * 文件访问地址
     */
    @ExcelProperty("文件访问地址")
    private String url;

    /**
     * 原始文件名
     */
    @ExcelProperty("原始文件名")
    private String originalFilename;

    /**
     * 文件扩展名
     */
    @ExcelProperty("文件扩展名")
    private String ext;

    /**
     * 文件大小，单位字节
     */
    @ExcelProperty("文件大小(字节)")
    private Long size;

    /**
     * 创建时间
     */
    @ExcelProperty("上传时间")
    private LocalDateTime createTime;

    public static FileDetailExportResult of(FileDetail entity) {
        if (entity == null) {
            return null;
        }
        FileDetailExportResult result = new FileDetailExportResult();
        result.setUrl(entity.getUrl());
        result.setSize(entity.getSize());
        result.setOriginalFilename(entity.getOriginalFilename());
        result.setExt(entity.getExt());
        result.setPlatform(entity.getPlatform());
        result.setCreateTime(entity.getCreateTime());
        return result;
    }
}
